package com.nextel.project.cliente.bean;

import pe.com.nextel.rms.DataInputStreamX;
import pe.com.nextel.rms.DataOutputStreamX;
import pe.com.nextel.rms.PersistenteX;
import java.io.IOException;


import org.kxml2.io.KXmlParser;
import org.kxml2.io.KXmlSerializer;
import pe.com.nextel.util.ArrayList;
import pe.com.nextel.util.Iterator;
import pe.com.nextel.util.List;
import pe.com.nextel.util.StringUtils;

/**
 *
 * @author eespinoza
 */
public class ClientePorNombreBean extends PersistenteX {

    private int idRecordCliente;
    private short posRecordCliente;
    private String nombreCliente;

    public void persistir(DataOutputStreamX dataOutput, List list) throws IOException {
        dataOutput.writeInt(list.size());
        for (Iterator it = list.iterator(); it.hasNext();) {
            ClientePorNombreBean clienteNombre = (ClientePorNombreBean) it.next();
            dataOutput.writeInt(clienteNombre.getIdRecordCliente());
            dataOutput.writeShort(clienteNombre.getPosRecordCliente());
            dataOutput.writeString(StringUtils.stringNullToBlank(clienteNombre.getNombreCliente()));
        }
    }

    public List recuperar(DataInputStreamX dataInput) throws IOException {
        List lista = new ArrayList();
        ClientePorNombreBean clienteNombre = null;
        int cant = dataInput.readInt( );
        
//        System.out.println("cant==" + cant);
        
        for (int i = 0; i < cant; i++) {
            clienteNombre = new ClientePorNombreBean();
            clienteNombre.setIdRecordCliente(dataInput.readInt());
            clienteNombre.setPosRecordCliente(dataInput.readShort());
            clienteNombre.setNombreCliente(dataInput.readString());

            lista.add(clienteNombre);
        }

        return lista;
    }

    public int getIdRecordCliente() {
        return idRecordCliente;
    }

    public void setIdRecordCliente(int idRecordCliente) {
        this.idRecordCliente = idRecordCliente;
    }

    public short getPosRecordCliente() {
        return posRecordCliente;
    }

    public void setPosRecordCliente(short posRecordCliente) {
        this.posRecordCliente = posRecordCliente;
    }

    public String getNombreCliente() {
        return nombreCliente;
    }

    public void setNombreCliente(String nombreCliente) {
        this.nombreCliente = nombreCliente;
    }

    public void writeXMLObject(KXmlSerializer writer) throws IOException {
    }

    public void readXMLObject(KXmlParser parser) throws IOException {
        setIdRecordCliente(Integer.parseInt(parser.getAttributeValue(null, "i")));
        setPosRecordCliente(Short.parseShort(parser.getAttributeValue(null, "p")));
        setNombreCliente(parser.getAttributeValue(null, "n"));
    }

    public void clear() {

    }
}
